''========================================================
'' Autor: 		Luis Antonio Lara Capetillo
'' Fecha Creación: 	17/12/2012
'' Descripcion: 	Clase Componente ctlEnmiendaBuque
''========================================================

Public Class ctlEnmiendaBuque
  Inherits System.Web.UI.UserControl

#Region "Propiedades"
  ''' <summary>
  ''' Obtiene o establece el valor Fecha_Movimiento del TextBox txtFecha_Movimiento
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Fecha_Movimiento() As String
    Get
      Return Me.txtFecha_Movimiento.Text
    End Get
    Set(value As String)
      Me.txtFecha_Movimiento.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Nombre_Buque del TextBox txtNombre_Buque
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property NidNombre_Buque() As String
    Get
      Return Me.hfNombre_Buque.Value
    End Get
    Set(value As String)
      Me.hfNombre_Buque.Value = value
    End Set
  End Property
  ''' <summary>
  ''' Obtiene o estable el valor Nombre_Buque del TextBox txtNombre_Buque
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Nombre_Buque() As String
    Get
      Return Me.txtNombre_Buque.Text
    End Get
    Set(value As String)
      Me.txtNombre_Buque.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor NidViaje del TextBox txtNidViaje
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property NidViaje() As String
    Get
      Return Me.txtNidViaje.Text
    End Get
    Set(value As String)
      Me.txtNidViaje.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene el nid de la opcion seleccionada
  ''' </summary>
  ''' <value></value>
  ''' <returns>numero de nid seleccionado</returns>
  ''' <remarks></remarks>
  Public ReadOnly Property NidCodigo_Pbip() As Int32
    Get
      If cbxCodigo_Pbip.SelectedValue = "- Seleccione una opcion -" Then
        Return 0
      Else
        Return CInt(cbxCodigo_Pbip.SelectedValue)
      End If
    End Get
  End Property
  ''' <summary>
  ''' Obtiene el nombre de la opcion seleccionada
  ''' </summary>
  ''' <value></value>
  ''' <returns>nombre de la opcion seleccionada</returns>
  ''' <remarks></remarks>
  Public ReadOnly Property NombreCodigo_Pbip() As String
    Get
      If cbxCodigo_Pbip.SelectedItem.Text = "- Seleccione una opcion -" Then
        Return ""
      Else
        Return cbxCodigo_Pbip.SelectedItem.Text
      End If
    End Get
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Capitan del TextBox txtCapitan
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Capitan() As String
    Get
      Return Me.txtCapitan.Text
    End Get
    Set(value As String)
      Me.txtCapitan.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Bandera del TextBox txtBandera
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Bandera() As String
    Get
      Return Me.txtBandera.Text
    End Get
    Set(value As String)
      Me.txtBandera.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene el nid de la opcion seleccionada
  ''' </summary>
  ''' <value></value>
  ''' <returns>numero de nid seleccionado</returns>
  ''' <remarks></remarks>
  Public ReadOnly Property NidTipo_Buque() As Int32
    Get
      If cbxTipo_Buque.SelectedValue = "- Seleccione una opcion -" Then
        Return 0
      Else
        Return CInt(cbxTipo_Buque.SelectedValue)
      End If
    End Get
  End Property
  ''' <summary>
  ''' Obtiene el nombre de la opcion seleccionada
  ''' </summary>
  ''' <value></value>
  ''' <returns>nombre de la opcion seleccionada</returns>
  ''' <remarks></remarks>
  Public ReadOnly Property NombreTipo_Buque() As String
    Get
      If cbxTipo_Buque.SelectedItem.Text = "- Seleccione una opcion -" Then
        Return ""
      Else
        Return cbxTipo_Buque.SelectedItem.Text
      End If
    End Get
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Tipo_Carga del TextBox txtTipo_Carga
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Tipo_Carga() As String
    Get
      Return Me.txtTipo_Carga.Text
    End Get
    Set(value As String)
      Me.txtTipo_Carga.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Color_Casco del TextBox txtColor_Casco
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Color_Casco() As String
    Get
      Return Me.txtColor_Casco.Text
    End Get
    Set(value As String)
      Me.txtColor_Casco.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Puerto_procedencia del TextBox txtPuerto_procedencia
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property NidPuerto_procedencia() As String
    Get
      Return Me.hfPuerto_procedencia.Value
    End Get
    Set(value As String)
      Me.hfPuerto_procedencia.Value = value
    End Set
  End Property
  ''' <summary>
  ''' Obtiene o estable el valor Puerto_procedencia del TextBox txtPuerto_procedencia
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Puerto_procedencia() As String
    Get
      Return Me.txtPuerto_procedencia.Text
    End Get
    Set(value As String)
      Me.txtPuerto_procedencia.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Puerto_Destino del TextBox txtPuerto_Destino
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property NidPuerto_Destino() As String
    Get
      Return Me.hfPuerto_Destino.Value
    End Get
    Set(value As String)
      Me.hfPuerto_Destino.Value = value
    End Set
  End Property
  ''' <summary>
  ''' Obtiene o estable el valor Puerto_Destino del TextBox txtPuerto_Destino
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Puerto_Destino() As String
    Get
      Return Me.txtPuerto_Destino.Text
    End Get
    Set(value As String)
      Me.txtPuerto_Destino.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Habilita o Desabilita el Control para Edicion
  ''' </summary>
  ''' <value>True o False</value>
  ''' <remarks></remarks>
  Public WriteOnly Property Enabled() As Boolean
    Set(value As Boolean)
	  txtFecha_Movimiento.Enabled=value
      txtNombre_Buque.Enabled=value
      txtNidViaje.Enabled=value
      cbxCodigo_Pbip.Enabled=value
      txtCapitan.Enabled=value
      txtBandera.Enabled=value
      cbxTipo_Buque.Enabled=value
      txtTipo_Carga.Enabled=value
      txtColor_Casco.Enabled=value
      txtPuerto_procedencia.Enabled=value
      txtPuerto_Destino.Enabled=value
      
    End Set
  End Property

  ''' <summary>
  ''' Habilita o Desabilita el Control para solo lectura
  ''' </summary>
  ''' <value>True o False</value>
  ''' <remarks>ReadOnly</remarks>
  Public WriteOnly Property Lectura() As Boolean
    Set(value As Boolean)
	  txtFecha_Movimiento.ReadOnly=value
      txtNombre_Buque.ReadOnly=value
      txtNidViaje.ReadOnly=value
      cbxCodigo_Pbip.ReadOnly=value
      txtCapitan.ReadOnly=value
      txtBandera.ReadOnly=value
      cbxTipo_Buque.ReadOnly=value
      txtTipo_Carga.ReadOnly=value
      txtColor_Casco.ReadOnly=value
      txtPuerto_procedencia.ReadOnly=value
      txtPuerto_Destino.ReadOnly=value
      
    End Set
  End Property


#End Region
#Region "Eventos"


  Protected Sub btn?NomCampo_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles btn?NomCampo.Click
    
  End Sub

  Protected Sub cbxCodigo_Pbip_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles cbxCodigo_Pbip.SelectedIndexChanged
    
  End Sub

  Protected Sub cbxTipo_Buque_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles cbxTipo_Buque.SelectedIndexChanged
    
  End Sub

  Protected Sub btn?NomCampo_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles btn?NomCampo.Click
    
  End Sub

  Protected Sub btn?NomCampo_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles btn?NomCampo.Click
    
  End Sub

#End Region
#Region "Metodos"

  ''' <summary>
  ''' Metodo para llenar cbxCodigo_Pbip con datos de un DataTable y seleciona el primero
  ''' </summary>
  ''' <param name="data"> Tabla con los datos</param>
  ''' <param name="nombre">Nombre de la columna de los nombres</param>
  ''' <param name="nid"> Nombre de la columna con los nid</param>
  ''' <remarks></remarks>
  Public Sub llenarcbxCodigo_Pbip(ByVal data As DataTable, ByVal nombre As String, ByVal nid As String)
    Me.cbxCodigo_Pbip.DataSource = data
    Me.cbxCodigo_Pbip.DataTextField = nombre.ToString
    Me.cbxCodigo_Pbip.DataValueField = nid.ToString
    Me.cbxCodigo_Pbip.DataBind()
    Me.cbxCodigo_Pbip.Items.Add("- Seleccione una opcion -")
    Me.cbxCodigo_Pbip.SelectedIndex = Me.cbxCodigo_Pbip.Items.Count - 1
  End Sub

  ''' <summary>
  ''' Metodo para llenar cbxTipo_Buque con datos de un DataTable y seleciona el primero
  ''' </summary>
  ''' <param name="data"> Tabla con los datos</param>
  ''' <param name="nombre">Nombre de la columna de los nombres</param>
  ''' <param name="nid"> Nombre de la columna con los nid</param>
  ''' <remarks></remarks>
  Public Sub llenarcbxTipo_Buque(ByVal data As DataTable, ByVal nombre As String, ByVal nid As String)
    Me.cbxTipo_Buque.DataSource = data
    Me.cbxTipo_Buque.DataTextField = nombre.ToString
    Me.cbxTipo_Buque.DataValueField = nid.ToString
    Me.cbxTipo_Buque.DataBind()
    Me.cbxTipo_Buque.Items.Add("- Seleccione una opcion -")
    Me.cbxTipo_Buque.SelectedIndex = Me.cbxTipo_Buque.Items.Count - 1
  End Sub

  ''' <summary>
  ''' Metodo para asignar los datos al componente ctlTurismo
  ''' </summary>
  ''' <param name="tablaDatos">DataTable donde se obtienen los datos</param>
  ''' <remarks></remarks>
  Public Sub AsignarDatos(ByVal tablaDatos As DataTable)
    Me.txtFecha_Movimiento.Text= tablaDatos.Rows(0)("Fecha_Movimiento").ToString
    Me.txtNombre_Buque.Text= tablaDatos.Rows(0)("Nombre_Buque").ToString
    Me.txtNidViaje.Text= tablaDatos.Rows(0)("NidViaje").ToString
    Me.txtCapitan.Text= tablaDatos.Rows(0)("Capitan").ToString
    Me.txtBandera.Text= tablaDatos.Rows(0)("Bandera").ToString
    Me.txtTipo_Carga.Text= tablaDatos.Rows(0)("Tipo_Carga").ToString
    Me.txtColor_Casco.Text= tablaDatos.Rows(0)("Color_Casco").ToString
    Me.txtPuerto_procedencia.Text= tablaDatos.Rows(0)("Puerto_procedencia").ToString
    Me.txtPuerto_Destino.Text= tablaDatos.Rows(0)("Puerto_Destino").ToString
    
  End Sub

#End Region
End Class
